package funge {
	import actors.Actor;
	
	import interfaces.IDestroyable;
	
	public interface IFunge extends IDestroyable {
		function update():void;
		function clone():IFunge;
		function mutate():void;
		function toString():String;
		function blend(fungeIn:IFunge):IFunge;
		function randomize():void;
		function template():void;
		function copyProgram():Vector.<String>;
		
		function get availableCommands():Vector.<String>;
		function get program():Vector.<String>;
		function set program(commands:Vector.<String>):void;
		function set actor(actorIn:Actor):void;
	}
}
